#include "struct.h"
void Head_Config(void){
//	Note:All the procedure of list Using Head's Function
//	Start Configure Head_Rmt(struct Node*)
	Head_Rmt=(struct Node*)malloc(sizeof(struct Node));
	Head_Rmt->Data=0;
	Head_Rmt->Next=NULL;
//	Head_Rmt->ListOpr_Head=NULL;
	Head_Rmt->ListOpr=RmotLink;
	Head_Rmt->NodeOpr=NewNode;
//	End Configure Head_Rmt
//	Start Configure Head_Hed(struct Node*)
	Head_Hed=(struct Node*)malloc(sizeof(struct Node));
	Head_Hed->Data=0;
	Head_Hed->Next=NULL;
	Head_Hed->ListOpr=HeadLink;
//	Head_Hed->ListOpr_Rmot=NULL;
	Head_Hed->NodeOpr=NULL;
//	End Configure Head_Hed
//	Configure Remote Pointer,to recieve the Remote-Pointer that RmotLink Generate 
	Remote=(struct Node*)malloc(sizeof(struct Node));
	Contain=(struct Node*)malloc(sizeof(struct Node));
	//struct Node* "Contain" WILL BE USED for receive the struct Node* that 
	//expelled from Head_Rmt 
	return;
}
bool RmotLink(struct Node**Remote,struct Node**Link){
	(*Remote)->Next=*Link;
	*Remote=*Link; 
	return true;
}
bool HeadLink(struct Node**Prodex,struct Node**Link){
	(*Link)->Next=(*Prodex)->Next;
	(*Prodex)->Next=*Link; 
	return true;
}
bool NewNode(struct Node**Output,int DataIn){
	*Output=(struct Node*)malloc(sizeof(struct Node));
	(*Output)->Data=DataIn;
	(*Output)->Next=NULL;
	return true;
}
bool ExplList(struct Node**Head,struct Node**Expel){
	*Expel=(*Head)->Next;
	(*Head)->Next=(*Expel)->Next;
	(*Expel)->Next=NULL;
	return true;
}
bool RestPter(struct Node** Output){
	*Output=(struct Node*)malloc(sizeof(struct Node));
	return true;
}
